/*
 * @Author: zqx me_zqx@163.com
 * @Date: 2025-04-09 11:36:55
 * @LastEditors: zqx me_zqx@163.com
 * @LastEditTime: 2025-09-03 10:46:41
 * @FilePath: /XMate-h5/src/services/badge/type.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
// 设备默认类型
const DEFAULT_DEVICE_TYPE = "AISPEECH";

export class BindDeviceParam {
  code: string; // SN Code 码
  type: string; // 类型
  forceBind: boolean; // 是否强制绑定

  constructor() {
    this.type = DEFAULT_DEVICE_TYPE;
    this.forceBind = false;
    this.code = "";
  }
}

export enum CMD_TYPE {
  START = "start", //启动
  STOP = "stop", //关闭
  PAUSE = "pause", //暂停
  RESUME = "start" //恢复 【恢复也是应用start】
}


export enum RECORD_STATUS {
  RECORDING = "RECORDING", //录制中
  PAUSED = "PAUSED", //暂停
}

export enum RECORD_TYPE {
  DEVICE = "DEVICE", //设备
  APP = "APP", //应用
}

// 控制录制 启动/结束
export class ControlRecord {
  // start/stop
  cmdType: CMD_TYPE;
  // 计划id
  scheduleId: string;

  constructor(cmdType: CMD_TYPE, scheduleId: string = "") {
    this.cmdType = cmdType;
    this.scheduleId = scheduleId;
  }
}

// 工牌设备信息
export interface BadgeDeviceInfo {
  autoRecord: number;
  batteryPer: number;
  deviceType: string;
  gpsStatus: number;
  imei: string;
  leftSpace: number;
  online: number;
  recordIgnoreTime: number;
  recordStatus: number;
  snCode: string;
  totalSpace: number;
  version: string;
  version4G: string;
};

// 录制信息
// export interface VisitInfo {
//   id?: any;
//   orgId?: any;
//   hostUserId?: any;
//   deviceCode?: any;
//   scheduleId?: any;
//   conferenceId?: any;
//   recordStatus?: any;
//   recordStartTime?: any;
//   recordEndTime?: any;
//   disableRealTimePush: number;
//   lastRealTimeMsg?: any;
//   data?: any;
// };

// 进行中的沟通
export interface OnGoingVisit  {
  conferenceId: string;
  duration: number;
  recordStatus: string;
  recordType: string;
  startTime: string;
  subject: string;
};
